package com.sg.dto.biz.app.req;

import com.sg.dto.biz.app.common.VirtualOrgSpecMemberDto;
import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * @desc ImplementAcceptFieldByStandardDataReqDto
 * @使用场景
 */
@Data
public class ImplementAcceptFieldByStandardDataReqDto
        extends BaseDto
        implements Serializable {

    /**
     * 自定义文本字段
     */
    @NotNull(message = "自定义文本字段不能为空")
    @ApiModelProperty("自定义文本字段")
    private String customText;
    /**
     * 提交标准数据提示文案
     */
    @NotNull(message = "提交标准数据提示文案不能为空")
    @ApiModelProperty("提交标准数据提示文案")
    private String submitStandardDataTips;
    /**
     * 执行周期阶段ID
     */
    @NotNull(message = "执行周期阶段ID不能为空")
    @ApiModelProperty("执行周期阶段ID")
    private String executeCycleStageId;

    /**
     * 周期ID
     */
    @NotNull(message = "周期ID不能为空")
    @ApiModelProperty("周期ID")
    private String cycleId;
    /**
     * 是否 TRUE:是 FALSE:否
     */
    @NotNull(message = "是否不能为空")
    @ApiModelProperty("是否")
    private String tureOrFalse;
    /**
     * 对方logo
     */
    @NotNull(message = "对方logo不能为空")
    @ApiModelProperty("对方logo")
    private String oppositeLogo;

    /**
     * 对方名称
     */
    @NotNull(message = "对方名称不能为空")
    @ApiModelProperty("对方名称")
    private String oppositeName;
    /**
     * 预算余额类型
     */
    @NotNull(message = "预算余额类型不能为空")
    @ApiModelProperty("预算余额类型")
    private String budgetAmountType;

    /**
     * 预算可用金额类型
     */
    @NotNull(message = "预算可用金额类型不能为空")
    @ApiModelProperty("预算可用金额类型")
    private String budgetUsableType;

    /**
     * 预算冻结金额类型
     */
    @NotNull(message = "预算冻结金额类型不能为空")
    @ApiModelProperty("预算冻结金额类型")
    private String budgetFrozenType;

    /**
     * 累计结算金额类型
     */
    @NotNull(message = "累计结算金额类型不能为空")
    @ApiModelProperty("累计结算金额类型")
    private String cumulativeBudgetType;

    /**
     * 预算总金额类型
     */
    @NotNull(message = "预算总金额类型不能为空")
    @ApiModelProperty("预算总金额类型")
    private String budgetTotalType;

    /**
     * 到账余额类型
     */
    @NotNull(message = "到账余额类型不能为空")
    @ApiModelProperty("到账余额类型")
    private String fundsReceivedBalanceType;

    /**
     * 到账可用金额类型
     */
    @NotNull(message = "到账可用金额类型不能为空")
    @ApiModelProperty("到账可用金额类型")
    private String fundsReceivedUsableType;

    /**
     * 到账冻结金额类型
     */
    @NotNull(message = "到账冻结金额类型不能为空")
    @ApiModelProperty("到账冻结金额类型")
    private String fundsReceivedFrozenType;

    /**
     * 累计到账金额类型
     */
    @NotNull(message = "累计到账金额类型不能为空")
    @ApiModelProperty("累计到账金额类型")
    private String cumulativeFundsReceivedType;

    /**
     * 到账总金额类型
     */
    @NotNull(message = "到账总金额类型不能为空")
    @ApiModelProperty("到账总金额类型")
    private String fundsReceivedTotalType;
    /**
     * 关联目标内容类型编码 TARGET:目标 TARGET_CATEGORY:目标分类 OBJECTIVE:指标
     */
    @NotNull(message = "关联目标内容类型编码不能为空")
    @ApiModelProperty("关联目标内容类型编码")
    private String targetCycleContentTypeCode;

    /**
     * 关联目标内容ID
     */
    @NotNull(message = "关联目标内容ID不能为空")
    @ApiModelProperty("关联目标内容ID")
    private String targetCycleContentId;

    /**
     * 被评对象目标周期ID
     */
    @NotNull(message = "被评对象目标周期ID不能为空")
    @ApiModelProperty("被评对象目标周期ID")
    private String evaObjTargetCycleId;

    /**
     * 周期阶段资料记录ID
     */
    @ApiModelProperty("周期阶段资料记录ID")
    private String cycleStageDataId;

    /**
     * 冗余目标ID
     */
    @NotNull(message = "冗余目标ID不能为空")
    @ApiModelProperty("冗余目标ID")
    private String targetId;

    /**
     * 冗余评价模板ID
     */
    @NotNull(message = "冗余评价模板ID不能为空")
    @ApiModelProperty("冗余评价模板ID")
    private String evaluationTemplateId;
    /**
     * 目标内容是否可提交预算 TRUE:是 FALSE:否
     */
    @NotNull(message = "目标内容是否可提交预算不能为空")
    @ApiModelProperty("目标内容是否可提交预算")
    private String targetContentCanReport;
    /**
     * 预算汇报层级 PLAN_BUDGET:预算在规划 PRIMARY_CON_TASK_BUDGET:一级建设任务 LAST_CON_TASK_BUDGET:末级建设任务 ONE_LEVEL_OBSERVATION_POINT_BUDGET:一级观测点预算 LAST_LEVEL_OBSERVATION_POINT_BUDGET:末级观测点预算
     */
    @NotNull(message = "预算汇报层级不能为空")
    @ApiModelProperty("预算汇报层级")
    private String budgetReportHierarchy;
    /**
     * 模板引擎标识
     */
    @NotNull(message = "模板引擎标识不能为空")
    @ApiModelProperty("模板引擎标识")
    private String templateSemanticEngineCode;

    /**
     * 消息模板标识
     */
    @NotNull(message = "消息模板标识不能为空")
    @ApiModelProperty("消息模板标识")
    private String messageTemplateCode;

    /**
     * 短信行为类型
     */
    @NotNull(message = "短信行为类型不能为空")
    @ApiModelProperty("短信行为类型")
    private String smsBehaviorType;
    /**
     * 对象名称
     */
    @NotNull(message = "对象名称不能为空")
    @ApiModelProperty("对象名称")
    private String objectName;
    /**
     * 归属主体内容类型编码 OMS_TARGET_CYCLE:目标周期表 OMS_EVALUATION_OBJECT_TARGET_CYCLE:被评对象目标周期表 OMS_TARGET:目标表 OMS_TARGET_CATEGORY:目标分类表 OMS_TARGET_OBJECTIVE:指标表 OMS_TASK:任务表 OMS_ORG_INDUCTION_RECORD:就职记录表 OMS_FRAMEWORK_ORIGINAL_ROLE_MEMBER:身份人员表 OMS_ORG_DEPT:部门表 OMS_BASE_HOST:宿主表 OMS_FRAMEWORK_SPACE:空间表 OMS_TSPE_CYCLE_STAGE_DATA:周期阶段资料记录 OMS_EVALUATION_TEMPLATE:评价模板 OMS_EVALUATION_PORTRAIT:评价画像表 OMS_ORG_POSITION:职务表 OMS_VIRTUAL_ORG_MEMBER:虚拟组织成员表 OMS_PLANNING:规划资料表 OMS_FRAMEWORK_USERS:个人账号表 OMS_EXECUTE_CYCLE_STAGE:执行周期阶段表 OMS_CONF_SCHEME:配置方案表 OMS_EVA_OBJ_TARGET_CYCLE_OSET:被评对象目标周期目标设置表 OMS_EVA_OBJ_TARGET_CYCLE_WEIGHT_SET:被评对象目标周期权重设置表 OMS_NOTICE:通知公告表 OMS_CYCLE:周期表 OMS_EVALUATION_SUBJECT:评价主题表 OMS_BIZ_APP_BATCH:业务应用批次表 OMS_EVA_BATCH_RELATED_SET:评价模板批次相关设置表 OMS_TARGET_CYCLE_PLAN_SET:目标周期规划设置表 OMS_TARGET_OBJECTIVE_PLAN_EXTEND:指标扩展规划设置表 OMS_MESSAGE_CHANNEL:通道表 OMS_ORG_ORGANIZATION:组织表 OMS_PROJECT:项目表 OMS_ORG_DEPT:部门表 OMS_QUESTION:问题表
     */
    @NotNull(message = "归属主体内容类型编码不能为空")
    @ApiModelProperty("归属主体内容类型编码")
    private String tableTypeCode;

    /**
     * 归属主体内容ID
     */
    @NotNull(message = "归属主体内容ID不能为空")
    @ApiModelProperty("归属主体内容ID")
    private String entityId;
    /**
     * 工作任务对象类型 PROJECT:项目 TASK:任务 PROBLEM:问题
     */
    @NotNull(message = "工作任务对象类型不能为空")
    @ApiModelProperty("工作任务对象类型")
    private String workTaskObjectType;

    /**
     * 工作任务对象ID
     */
    @NotNull(message = "工作任务对象ID不能为空")
    @ApiModelProperty("工作任务对象ID")
    private String workTaskObjectId;
    /**
     * 工作任务对象名称
     */
    @NotNull(message = "工作任务对象名称不能为空")
    @ApiModelProperty("工作任务对象名称")
    private String workTaskObjectName;
    /**
     * 业务操作类型编码 REPORT_UP:向上汇报 NOT_REPORT_UP:不向上汇报
     */
    @ApiModelProperty("业务操作类型编码")
    private String businessOperationTypeCode;

    /**
     * 安排主体类型编码 OMS_ORG_ORGANIZATION:组织表 OMS_ORG_DEPT:部门表
     */
    @NotNull(message = "安排主体类型编码不能为空")
    @ApiModelProperty("安排主体类型编码")
    private String arrangeSubjectTypeCode;

    /**
     * 安排主体ID
     */
    @NotNull(message = "安排主体ID不能为空")
    @ApiModelProperty("安排主体ID")
    private String arrangeSubjectId;

    /**
     * 接收部门ID
     */
    @NotNull(message = "接收部门ID不能为空")
    @ApiModelProperty("接收部门ID")
    private String receiveSubjectId;

    /**
     * 创建于空间ID
     */
    @NotNull(message = "创建于空间ID不能为空")
    @ApiModelProperty("创建于空间ID")
    private String spaceId;
    /**
     * 归属对象类型 EVA_TEMP:评价模板 SPACE:空间 OMS_ORG_DEPT:部门
     */
    @NotNull(message = "归属对象类型不能为空")
    @ApiModelProperty("归属对象类型")
    private String evaluationTemplateType;
    /**
     * 组织ID
     */
    @NotNull(message = "组织ID不能为空")
    @ApiModelProperty("组织ID")
    private String organizationId;
    /**
     * 部门ID
     */
    @NotNull(message = "部门ID不能为空")
    @ApiModelProperty("部门ID")
    private String deptId;
    /**
     * 虚拟组织ID
     */
    @NotNull(message = "虚拟组织ID不能为空")
    @ApiModelProperty("虚拟组织ID")
    private String virtualOrgId;

    /**
     * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
     */
    @NotNull(message = "主体生命周期不能为空")
    @ApiModelProperty("主体生命周期")
    private String subjectLifeCycle;
    /**
     * 工作任务安排类型筛选条件
     */
    @NotNull(message = "工作任务安排类型筛选条件不能为空")
    @ApiModelProperty("工作任务安排类型筛选条件")
    private String workTaskArrangeTypeScreen;

    /**
     * 高/中/基层操作场景 TOP:高层 MID:中层 BASIC:基层 UCD:UCD框架
     */
    @NotNull(message = "高/中/基层操作场景不能为空")
    @ApiModelProperty("高/中/基层操作场景")
    private String batchOperateScene;

    /**
     * 工作任务视角筛选条件
     */
    @ApiModelProperty("工作任务视角筛选条件")
    private String workTaskAngleScreen;
    /**
     * 角色标识
     */
    @NotNull(message = "角色标识不能为空")
    @ApiModelProperty("角色标识")
    private String roleCode;
    /**
     * 汇报任务待汇报状态
     */
    @NotNull(message = "汇报任务待汇报状态不能为空")
    @ApiModelProperty("汇报任务待汇报状态")
    private String reportTaskToBeSubmitStatus;

    /**
     * 汇报任务待评价状态
     */
    @NotNull(message = "汇报任务待评价状态不能为空")
    @ApiModelProperty("汇报任务待评价状态")
    private String reportTaskToBeEvaStatus;

    /**
     * 汇报任务待审核状态
     */
    @NotNull(message = "汇报任务待审核状态不能为空")
    @ApiModelProperty("汇报任务待审核状态")
    private String reportTaskToBeExamineStatus;

    /**
     * 汇报任务逾期状态
     */
    @NotNull(message = "汇报任务逾期状态不能为空")
    @ApiModelProperty("汇报任务逾期状态")
    private String reportTaskOverdue;
    /**
     * 高层组织ID
     */
    @NotNull(message = "高层组织ID不能为空")
    @ApiModelProperty("高层组织ID")
    private String highOrganizationId;
    /**
     * 中基层部门ID
     */
    @NotNull(message = "中基层部门ID不能为空")
    @ApiModelProperty("中基层部门ID")
    private String midOrBasicDeptId;
    /**
     * 上级汇报的组织ID
     */
    @NotNull(message = "上级汇报的组织ID不能为空")
    @ApiModelProperty("上级汇报的组织ID")
    private String supOrgIdId;
    /**
     * 上级汇报的部门ID
     */
    @NotNull(message = "上级汇报的部门ID不能为空")
    @ApiModelProperty("上级汇报的部门ID")
    private String supDeptId;
    /**
     * 负责人身份人员ID
     */
    @NotNull(message = "负责人身份人员ID不能为空")
    @ApiModelProperty("负责人身份人员ID")
    private String principalOriginalRoleMemberId;

    /**
     * 负责人账号
     */
    @NotNull(message = "负责人账号不能为空")
    @ApiModelProperty("负责人账号")
    private String principalUserId;

    /**
     * 负责人就职记录ID
     */
    @NotNull(message = "负责人就职记录ID不能为空")
    @ApiModelProperty("负责人就职记录ID")
    private String principalInductionId;

    /**
     * 负责人角色CODE
     */
    @NotNull(message = "负责人角色CODE不能为空")
    @ApiModelProperty("负责人角色CODE")
    private String principalRoleCode;
    /**
     * 主管身份人员ID
     */
    @NotNull(message = "主管身份人员ID不能为空")
    @ApiModelProperty("主管身份人员ID")
    private String directorOriRoleMemId;

    /**
     * 主管账号
     */
    @NotNull(message = "主管账号不能为空")
    @ApiModelProperty("主管账号")
    private String directorUserId;

    /**
     * 主管就职记录ID
     */
    @NotNull(message = "主管就职记录ID不能为空")
    @ApiModelProperty("主管就职记录ID")
    private String directorInductionId;

    /**
     * 主管角色CODE
     */
    @NotNull(message = "主管角色CODE不能为空")
    @ApiModelProperty("主管角色CODE")
    private String directorRoleCode;
    /**
     * 分管领导身份人员ID
     */
    @NotNull(message = "分管领导身份人员ID不能为空")
    @ApiModelProperty("分管领导身份人员ID")
    private String deptLeaderOriRoleMemId;

    /**
     * 高层分管领导账号
     */
    @NotNull(message = "分管领导账号不能为空")
    @ApiModelProperty("分管领导账号")
    private String deptLeaderUserId;

    /**
     * 高层分管领导就职记录ID
     */
    @NotNull(message = "分管领导就职记录ID不能为空")
    @ApiModelProperty("分管领导就职记录ID")
    private String deptLeaderInductionId;

    /**
     * 分管领导角色CODE
     */
    @NotNull(message = "分管领导角色CODE不能为空")
    @ApiModelProperty("分管领导角色CODE")
    private String deptLeaderRoleCode;
    /**
     * 分工者身份人员ID
     */
    @NotNull(message = "分工者身份人员ID不能为空")
    @ApiModelProperty("分工者身份人员ID")
    private String divisionLabourOriRoleMemId;

    /**
     * 分工者账号
     */
    @NotNull(message = "分工者账号不能为空")
    @ApiModelProperty("分工者账号")
    private String divisionLabourUserId;

    /**
     * 分工者就职记录ID
     */
    @NotNull(message = "分工者就职记录ID不能为空")
    @ApiModelProperty("分工者就职记录ID")
    private String divisionLabourInductionId;

    /**
     * 分工者角色CODE
     */
    @NotNull(message = "分工者角色CODE不能为空")
    @ApiModelProperty("分工者角色CODE")
    private String divisionLabourRoleCode;
    /**
     * 参与者身份人员ID
     */
    @NotNull(message = "参与者身份人员ID不能为空")
    @ApiModelProperty("参与者身份人员ID")
    private String participantsOriRoleMemId;

    /**
     * 接收任务参与者账号
     */
    @NotNull(message = "参与者账号不能为空")
    @ApiModelProperty("参与者账号")
    private String participantsUserId;

    /**
     * 接收任务参与者就职记录ID
     */
    @NotNull(message = "参与者就职记录ID不能为空")
    @ApiModelProperty("参与者就职记录ID")
    private String participantsInductionId;

    /**
     * 参与者角色CODE
     */
    @NotNull(message = "参与者角色CODE不能为空")
    @ApiModelProperty("参与者角色CODE")
    private String participantsRoleCode;
    /**
     * 一级建设任务牵头人身份人员ID
     */
    @NotNull(message = "一级建设任务牵头人身份人员ID不能为空")
    @ApiModelProperty("一级建设任务牵头人身份人员ID")
    private String chargeFirstClassTaskOriRoleMemId;

    /**
     * 一级建设任务牵头人账号
     */
    @NotNull(message = "一级建设任务牵头人账号不能为空")
    @ApiModelProperty("一级建设任务牵头人账号")
    private String chargeFirstClassTaskUserId;

    /**
     * 一级建设任务牵头人就职记录ID
     */
    @NotNull(message = "一级建设任务牵头人就职记录ID不能为空")
    @ApiModelProperty("一级建设任务牵头人就职记录ID")
    private String chargeFirstClassTaskInductionId;

    /**
     * 一级建设任务牵头人角色CODE
     */
    @NotNull(message = "一级建设任务牵头人角色CODE不能为空")
    @ApiModelProperty("一级建设任务牵头人角色CODE")
    private String chargeFirstClassTaskRoleCode;
    /**
     * 一级观测点负责人身份人员ID
     */
    @NotNull(message = "一级观测点负责人身份人员ID不能为空")
    @ApiModelProperty("一级观测点负责人身份人员ID")
    private String chargeFirstLevelPointOriRoleMemId;

    /**
     * 一级观测点负责人账号
     */
    @NotNull(message = "一级观测点负责人账号不能为空")
    @ApiModelProperty("一级观测点负责人账号")
    private String chargeFirstLevelPointUserId;

    /**
     * 一级观测点负责人就职记录ID
     */
    @NotNull(message = "一级观测点负责人就职记录ID不能为空")
    @ApiModelProperty("一级观测点负责人就职记录ID")
    private String chargeFirstLevelPointInductionId;

    /**
     * 一级观测点负责人角色CODE
     */
    @NotNull(message = "一级观测点负责人角色CODE不能为空")
    @ApiModelProperty("一级观测点负责人角色CODE")
    private String chargeFirstLevelPointRoleCode;
    /**
     * 中基层安排人身份人员ID
     */
    @NotNull(message = "中基层安排人身份人员ID不能为空")
    @ApiModelProperty("中基层安排人身份人员ID")
    private String arrangeOriginalRoleMemberId;

    /**
     * 中基层安排人账号
     */
    @NotNull(message = "中基层安排人账号不能为空")
    @ApiModelProperty("中基层安排人账号")
    private String arrangeUserId;

    /**
     * 中基层安排人就职记录ID
     */
    @NotNull(message = "中基层安排人就职记录ID不能为空")
    @ApiModelProperty("中基层安排人就职记录ID")
    private String arrangeInductionId;
    /**
     * 接收工作任务责任身份人员ID
     */
    @NotNull(message = "接收工作任务责任身份人员ID不能为空")
    @ApiModelProperty("接收工作任务责任身份人员ID")
    private String receiverOriginalRoleMemberId;

    /**
     * 接收工作任务责任人账号
     */
    @NotNull(message = "接收工作任务责任人账号不能为空")
    @ApiModelProperty("接收工作任务责任人账号")
    private String receiverUserId;

    /**
     * 接收工作任务责任就职记录ID
     */
    @NotNull(message = "接收工作任务责任就职记录ID不能为空")
    @ApiModelProperty("接收工作任务责任就职记录ID")
    private String receiverInductionId;
    /**
     * 接收任务参与者身份人员ID
     */
    @NotNull(message = "接收任务参与者身份人员ID不能为空")
    @ApiModelProperty("接收任务参与者身份人员ID")
    private String participantsOriginalRoleMemberId;
    /**
     * 高层问题发起人身份人员ID
     */
    @NotNull(message = "高层问题发起人身份人员ID不能为空")
    @ApiModelProperty("高层问题发起人身份人员ID")
    private String highProblemCreatorOriginalRoleMemberId;

    /**
     * 高层问题发起人账号
     */
    @NotNull(message = "高层问题发起人账号不能为空")
    @ApiModelProperty("高层问题发起人账号")
    private String highProblemCreatorUserId;

    /**
     * 高层问题发起人就职记录ID
     */
    @NotNull(message = "高层问题发起人就职记录ID不能为空")
    @ApiModelProperty("高层问题发起人就职记录ID")
    private String highProblemCreatorInductionId;
    /**
     * 中基层问题发起人身份人员ID
     */
    @NotNull(message = "中基层问题发起人身份人员ID不能为空")
    @ApiModelProperty("中基层问题发起人身份人员ID")
    private String midOrBasicProblemCreatorOriginalRoleMemberId;

    /**
     * 中基层问题发起人账号
     */
    @NotNull(message = "中基层问题发起人账号不能为空")
    @ApiModelProperty("中基层问题发起人账号")
    private String midOrBasicProblemCreatorUserId;

    /**
     * 中基层问题发起人就职记录ID
     */
    @NotNull(message = "中基层问题发起人就职记录ID不能为空")
    @ApiModelProperty("中基层问题发起人就职记录ID")
    private String midOrBasicProblemCreatorInductionId;
    /**
     * 接收问题责任人身份人员ID
     */
    @NotNull(message = "接收问题责任人身份人员ID不能为空")
    @ApiModelProperty("接收问题责任人身份人员ID")
    private String problemReceiverOriginalRoleMemberId;

    /**
     * 接收问题责任人账号
     */
    @NotNull(message = "接收问题责任人账号不能为空")
    @ApiModelProperty("接收问题责任人账号")
    private String problemReceiverUserId;

    /**
     * 接收问题责任人就职记录ID
     */
    @NotNull(message = "接收问题责任人就职记录ID不能为空")
    @ApiModelProperty("接收问题责任人就职记录ID")
    private String problemReceiverInductionId;
    /**
     * 问题干系人身份人员ID
     */
    @NotNull(message = "问题干系人身份人员ID不能为空")
    @ApiModelProperty("问题干系人身份人员ID")
    private String problemStakeholderOriginalRoleMemberId;

    /**
     * 问题干系人账号
     */
    @NotNull(message = "问题干系人账号不能为空")
    @ApiModelProperty("问题干系人账号")
    private String problemStakeholderUserId;

    /**
     * 问题干系人就职记录ID
     */
    @NotNull(message = "问题干系人就职记录ID不能为空")
    @ApiModelProperty("问题干系人就职记录ID")
    private String problemStakeholderInductionId;
    /**
     * 我发起的问题待解决位置标识
     */
    @NotNull(message = "我发起的问题待解决位置标识不能为空")
    @ApiModelProperty("我发起的问题待解决位置标识")
    private String submitProblemToBeSolvedLoc;

    /**
     * 我发起的问题已超时位置标识
     */
    @NotNull(message = "我发起的问题已超时位置标识不能为空")
    @ApiModelProperty("我发起的问题已超时位置标识")
    private String submitProblemOvertimeLoc;

    /**
     * 我接收的问题待解决位置
     */
    @NotNull(message = "我接收的问题待解决位置不能为空")
    @ApiModelProperty("我接收的问题待解决位置")
    private String myProblemToBeSolvedLoc;

    /**
     * 我接收的问题已超时位置
     */
    @NotNull(message = "我接收的问题已超时位置不能为空")
    @ApiModelProperty("我接收的问题已超时位置")
    private String myProblemOvertimeLoc;
    /**
     * 我汇报的待汇报位置标识
     */
    @NotNull(message = "我汇报的待汇报位置标识不能为空")
    @ApiModelProperty("我汇报的待汇报位置标识")
    private String myReportTakMsgRepLocCode;

    /**
     * 我汇报的待评价位置标识
     */
    @NotNull(message = "我汇报的待评价位置标识不能为空")
    @ApiModelProperty("我汇报的待评价位置标识")
    private String myReportTakMsgEvaLocCode;

    /**
     * 我汇报的待审核位置标识
     */
    @NotNull(message = "我汇报的待审核位置标识不能为空")
    @ApiModelProperty("我汇报的待审核位置标识")
    private String myReportTakMsgExaLocCode;

    /**
     * 我汇报的已逾期位置标识
     */
    @NotNull(message = "我汇报的已逾期位置标识不能为空")
    @ApiModelProperty("我汇报的已逾期位置标识")
    private String myReportTakMsgOvLocCode;

    /**
     * 汇报给我的待汇报位置标识
     */
    @NotNull(message = "汇报给我的待汇报位置标识不能为空")
    @ApiModelProperty("汇报给我的待汇报位置标识")
    private String toMeReportTaskMsgRepLocCode;

    /**
     * 汇报给我的待评价位置标识
     */
    @NotNull(message = "汇报给我的待评价位置标识不能为空")
    @ApiModelProperty("汇报给我的待评价位置标识")
    private String toMeReportTaskMsgEvaLocCode;

    /**
     * 汇报给我的待审核位置标识
     */
    @NotNull(message = "汇报给我的待审核位置标识不能为空")
    @ApiModelProperty("汇报给我的待审核位置标识")
    private String toMeReportTaskMsgExaLocCode;

    /**
     * 汇报给我的已逾期位置标识
     */
    @NotNull(message = "汇报给我的已逾期位置标识不能为空")
    @ApiModelProperty("汇报给我的已逾期位置标识")
    private String toMeReportTaskMsgOvLocCode;

    /**
     * 我相关的待评价任务位置标识
     */
    @NotNull(message = "我相关的待评价任务位置标识不能为空")
    @ApiModelProperty("我相关的待评价任务位置标识")
    private String taskRelatedToMeEvaLocCode;
    @ApiModelProperty("虚拟组织成员列表 ")
    List<String> virtualOrgMemberList = new ArrayList<>();
    /**
     * 传输数值（整数型）
     */
    @NotNull(message = "传输数值（整数型）不能为空")
    @ApiModelProperty("传输数值（整数型）")
    private Long outputNum;
    /**
     * 虚拟组织使用场景 TARGET_PLAN_SCENE:目标规划场景 WORK_TASK_SCENE:工作任务场景
     */
    @ApiModelProperty("虚拟组织使用场景")
    private String useScene;
    /**
     * 自定义字段1
     */
    @NotNull(message = "自定义字段1不能为空")
    @ApiModelProperty("自定义字段1")
    private String customField1;

    /**
     * 自定义字段2
     */
    @NotNull(message = "自定义字段2不能为空")
    @ApiModelProperty("自定义字段2")
    private String customField2;
    /**
     * 消息内容
     */
    @NotNull(message = "消息内容不能为空")
    @ApiModelProperty("消息内容")
    private String content;
    /**
     * 汇报任务评价房间 MY_REPORT_TASK:我汇报的 TASK_REPORT_TO_ME:汇报给我的 TASK_RELATED_TO_ME:我相关的
     */
    @ApiModelProperty("汇报任务评价房间")
    private String reportTaskEvaRoom;

    /**
     * 消息数量主体类型 INDUCTION_RECORD:就职记录 ORIGINAL_ROLE_MEMBER:身份人员 ORG_OR_DEPT:组织部门 MEMBER_CHANNEL_RELATION:成员通道 OMS_EVALUATION_TEMPLATE:评价模板
     */
    @NotNull(message = "消息数量主体类型不能为空")
    @ApiModelProperty("消息数量主体类型")
    private String msgNumberSubjectType;

    /**
     * 消息数量主体ID
     */
    @NotNull(message = "消息数量主体ID不能为空")
    @ApiModelProperty("消息数量主体ID")
    private String msgNumberSubjectId;

    /**
     * 汇报任务状态位置标识
     */
    @NotNull(message = "汇报任务状态位置标识不能为空")
    @ApiModelProperty("汇报任务状态位置标识")
    private String reportTakMessageLocationCode;

    /**
     * 消息位置标识
     */
    @NotNull(message = "消息位置标识不能为空")
    @ApiModelProperty("消息位置标识")
    private String messageLocationTypeCode;

    /**
     * 身份人员ID
     */
    @NotNull(message = "身份人员ID不能为空")
    @ApiModelProperty("身份人员ID")
    private String originalRoleMemberId;

    /**
     * 个人账号
     */
    @NotNull(message = "个人账号不能为空")
    @ApiModelProperty("个人账号")
    private String userId;

    /**
     * 通用数值字段（整数型）
     */
    @NotNull(message = "通用数值字段（整数型）不能为空")
    @ApiModelProperty("通用数值字段（整数型）")
    private Long comNumField;
    /**
     * 是否管理员 TRUE:是 FALSE:否
     */
    @NotNull(message = "是否管理员不能为空")
    @ApiModelProperty("是否管理员")
    private String isAdmin;
    /**
     * 工作任务管理筛选条件
     */
    @NotNull(message = "工作任务管理筛选条件不能为空")
    @ApiModelProperty("工作任务管理筛选条件")
    private String workTaskMgtScreen;
    @ApiModelProperty("工作任务列表 ")
    List<String> workTaskList = new ArrayList<>();
    @ApiModelProperty("中基层主管部门列表 ")
    List<String> midOrBasicDeptList = new ArrayList<>();
    @ApiModelProperty("小圈子特殊成员列表")
    private List<VirtualOrgSpecMemberDto> virtualOrgSpecMemberList = new ArrayList<>();
    /**
     * 任务ID
     */
    @NotNull(message = "任务ID不能为空")
    @ApiModelProperty("任务ID")
    private String taskId;
    /**
     * 发送消息场景 AUTO_GEN_REPORT_TASK_SUB:自动生成汇报任务（待汇报-空转未开始） AUTO_ANA_SUBMIT_TO_SUC:自动分析进行中汇报任务（待汇报转已成功） AUTO_GEN_REPORT_TASK_ONGOING:自动生成汇报任务（待汇报-空转进行中） SUB_REPORT_TASK_SUB_OVERDUW_TO_SUC:提交汇报任务（已逾期转已成功） AUTO_ANA_SUBMIT_TO_SUC:自动分析待汇报任务（待汇报转已成功） AUTO_ANA_NOT_AT_THE_REPORT_TASK_ONG:自动分析待汇报任务（未开始转进行中） SUB_REPORT_TASK_SUB_TO_EVA:提交汇报任务（待汇报转评价中） SUB_REPORT_TASK_SUB_TO_EXA:提交汇报任务（待汇报转审核中） SUB_REPORT_TASK_SUB_TO_SUC:提交汇报任务（待汇报转已成功） REMIND_REPORT_TASK:提醒汇报 EVA_REPORT_TASK_EVA_TO_EXA:评价汇报任务（评价中转审核中） EVA_REPORT_TASK_EVA_TO_SUC:评价汇报任务（评价中转已成功） EXA_REPORT_TASK_EXA_TO_SUC:审核汇报任务（审核中转已成功） EXA_REPORT_TASK_EXA_TO_FAIL:审核汇报任务（审核中转已失败） AUTO_ANA_SUBMIT_TO_OVERDUE:自动分析逾期任务（待汇报转已逾期） AUTO_ANA_EVA_TO_OVERDUE:自动分析逾期任务（评价中转已逾期） AUTO_ANA_EXA_TO_OVERDUE:自动分析逾期任务（审核中转已逾期） AUTO_ANA_OVERDUE_TO_FAIL:自动分析失败任务（已逾期转已失败） CANCEL_REPORT_TASK_EVA_TO_SUB:撤销汇报任务（评价中转待汇报） CANCEL_REPORT_TASK_EXA_TO_SUB:撤销汇报任务（审核中转待汇报） REJECT_REPORT_TASK_EVA_TO_SUB:驳回任务（评价中转待汇报） REJECT_REPORT_TASK_EXA_TO_SUB:驳回任务（审核中转待汇报） ARRANGE_WORK_TASK_TOBESIGN:安排工作任务（待签收） ARRANGE_WORK_TASK_ONGOING:安排工作任务（进行中） ARRANGE_WORK_TASK_NOT_AT_THE:安排工作任务（未开始） CFM_REC_WORK_TASK_SIGN:确认签收工作任务（已签收-空转未开始） AUTO_ANA_WORK_TASK_NOT_AT_THE_TO_ONGOING:自动分析进行中工作任务（未开始转进行中） AUTOMATIC_ANALYSIS_OF_UPCOMING_OVERDUE_WORK_TASKS:自动分析即将逾期工作任务（进行中） ADVANCE_WORK_TASK_NOT_AT_THE_TO_ONGOING:工作任务人工提前开始（未开始转进行中） CFM_REC_WORK_TASK_SIGN_ONGOING:确认签收工作任务（已签收-空转进行中） AUTO_ANA_WORK_TASK_ONGOING_TO_OVERDUE:自动分析逾期工作任务（进行中转已逾期） UPDATE_WORK_TASK_ONGOING_TO_SUC:更新工作任务（进行中转已成功） CANCLE_WORK_TASK_NOT_AT_THE_TO_FAIL:撤销工作任务（未开始转已失败） CANCLE_WORK_TASK_ONGOING_TO_FAIL:撤销工作任务（进行中转已失败） VOID_WORK_TASK_ONGOING_TO_FAIL:作废工作任务（进行中转已失败） VOID_WORK_TASK_OVERDUE_TO_FAIL:作废工作任务（已逾期转已失败） AUTO_ANA_WORK_TASK_ONGOING_TO_FAIL:自动分析失败工作任务（进行中转失败） CREATE_PROBLEM:发起问题（待解决） UPDATE_WORK_TASK_OVERDUE_TO_SUC:更新工作任务（已逾期转已成功） AUTO_ANA_PROBLEM_OVERTIME:自动分析超时问题（已超时） UPDATE_WORK_TASK_ONGOING:更新工作任务（进行中） SOLVE_PROBLEM_SHE_TO_QTA:问题转待解决（已搁置转待解决） OTHER_STATUS_PROBLEM_TO_SOLVE:其他状态问题转待解决 SOLVE_PROBLEM_SUS_TO_QTA:问题转待解决（已挂起转待解决） REJECTED_PROBLEM_QTA_TO_REJ:问题设拒绝（待解决转已拒绝） CLOSED_PROBLEM_QTA_TO_CLS:问题设关闭（待解决转已关闭） CLOSED_PROBLEM_SHE_TO_CLS:问题设关闭（已搁置转已关闭） CLOSED_PROBLEM_SUS_TO_CLS:问题设关闭（已挂起转已关闭） RESOLVED_PROBLEM_QTA_TO_RES:问题设解决（待解决转已解决） REMIND_SIGN_WORK_TASK:提醒签收工作任务 REMIND_HANDLE_WORK_TASK:督办工作任务 GENERATE_REPORT_TASK_PROBLEM:提交汇报任务问题 ISSUE_TARGET:下发目标 CFM_REC_PRIMARY_OBJECTIVE:确认签收一级指标 CFM_REC_SECOND_ABOVE_OBJECTIVE:确认签收二级及以上指标 REMIND_HANDLE_PRIMARY_DEPT_ARRANGE:督办一级部门目标安排 REMIND_HANDLE_SECOND_ABOVE_DEPT_ARRANGE:督办二级及以上部门目标安排 AUTO_ANA_SUB_REPORT_TASK_WILL_OVERDUE:自动分析即将逾期任务（待汇报） AUTO_ANA_EVA_REPORT_TASK_WILL_OVERDUE:自动分析即将逾期任务（评价中） AUTO_ANA_EXA_REPORT_TASK_WILL_OVERDUE:自动分析即将逾期任务（审核中） REVIEW_AND_SUBMIT_THREE_BUSINESS_MESSAGES:审核提交三条业务消息 UPDATE_TARGET_VALUE:修改目标值 ISSUE_TARGET:下发目标 CFM_REC_PRIMARY_OBJECTIVE:确认签收一级指标 CFM_REC_SECOND_ABOVE_OBJECTIVE:确认签收二级及以上指标 REMIND_HANDLE_PRIMARY_DEPT_ARRANGE:督办一级部门目标安排 REMIND_HANDLE_SECOND_ABOVE_DEPT_ARRANGE:督办二级及以上部门目标安排 ISSUE_OFFICIAL_DOC_SEND_EVERYONE:下发公文给所有人 ISSUE_OFFICIAL_DOC_SEND_DEPT:下发公文给部门 ISSUE_OFFICIAL_DOC_SEND_PERSON:下发公文给个人 ISSUE_NOTIFICATION_SEND_EVERYONE:下发通知给所有人 ISSUE_NOTIFICATION_SEND_DEPT:下发通知给部门 ISSUE_NOTIFICATION_SEND_PERSON:下发通知给个人 ISSUE_OFFICIAL_DOC_WORK_TASK_ARRANGE:下发公文工作任务安排 URGE_ISSUE_OFFICIAL_DOC_WORK_TASK_ARRANGE:催办公文工作任务安排 ASK_MY_COPYWRITER_ASSISTANT:提问我的文案助手 INITIATE_INDEPENDENT_THIRD_PARTY_QA:发起独立第三方问答 IMPLEMENT_THIRD-PARTY_INTELLIGENT_ANSWER:执行第三方智能回答 MY_INTELLIGENT_QA:我的智能问答 SOLVE_PROBLEM_QTA_TO_OTHER:待解决问题转其他状态（暂搁置、已挂起...）
     */
    @NotNull(message = "发送消息场景不能为空")
    @ApiModelProperty("发送消息场景")
    private String sendMsgScene;

    /**
     * 发送消息技术模型 AUTO_ANALYZE_SEND_PRINCIPAL:自动分析发送负责人 LABOUR_SEND_EVALUATOR:人工发送评价人 LABOUR_SEND_DIRECTOR:人工发送主管 LABOUR_SEND_DIRECTOR_DIVISION_LABOUR:人工发送主管、分工者 LABOUR_SEND_DIVISION_LABOUR:人工发送分工者 LABOUR_SEND_PRINCIPAL_DIVISION_LABOUR:人工发送负责人、分工者 AUTO_ANALYZE_SEND_PRINCIPAL_DIRECTOR_DIVISION_LABOUR:自动分析发送负责人、主管、分工者 LABOUR_SEND_NULL:人工发送 无 LABOUR_SEND_PRINCIPAL:人工发送负责人 LABOUR_SEND_DIRECTOR_DEPT_LEADER:人工发送主管、分管领导 AUTO_ANALYZE_SEND_PRINCIPAL_DIRECTOR_DEPT_LEADER:自动分析发送负责人、主管、分管领导 LABOUR_SEND_PRINCIPAL_DIRECTOR_DEPT_LEADER:人工发送负责人、主管、分管领导 AUTO_ANALYZE_SEND_PRINCIPAL_CREATOR:自动分析发送负责人、发起人 LABOUR_SEND_PRINCIPAL_CREATOR:人工发送负责人、发起人
     */
    @NotNull(message = "发送消息技术模型不能为空")
    @ApiModelProperty("发送消息技术模型")
    private String sendMsgTechnologyMode;

    /**
     * 发消息及实时更新消息数量 SEND_MSG:发消息 2:更新状态消息数量及推 topic 3:更新状态数量及发消息
     */
    @NotNull(message = "发消息及实时更新消息数量不能为空")
    @ApiModelProperty("发消息及实时更新消息数量")
    private String sendMsgAndUpdateMsgCount;

    /**
     * 消息标题模板引擎标识
     */
    @ApiModelProperty("消息标题模板引擎标识")
    private String msgTitleTemplateSemanticEngineCode;

    /**
     * 处理类型 NO_NEED_HANDLING:不需要处理 NEED_HANDLING:需要处理 NEED_BUSINESS_OPERATION_HANDLING:需要业务操作处理
     */
    @NotNull(message = "处理类型不能为空")
    @ApiModelProperty("处理类型")
    private String handleType;

    /**
     * 消息重要紧急度层级
     */
    @NotNull(message = "消息重要紧急度层级不能为空")
    @ApiModelProperty("消息重要紧急度层级")
    private Long messageImportantLevel;
    /**
     * 自定义字段3
     */
    @NotNull(message = "自定义字段3不能为空")
    @ApiModelProperty("自定义字段3")
    private String customField3;
    /**
     * 归属内容类型编码 INDUCTION_RECORD:就职记录 ORIGINAL_ROLE_MEMBER:身份人员 ORG_OR_DEPT:组织部门 MEMBER_CHANNEL_RELATION:成员通道 OMS_EVALUATION_TEMPLATE:评价模板
     */
    @NotNull(message = "归属内容类型编码不能为空")
    @ApiModelProperty("归属内容类型编码")
    private String surfaceCode;

    /**
     * 扩展内容ID
     */
    @NotNull(message = "扩展内容ID不能为空")
    @ApiModelProperty("扩展内容ID")
    private String extendedContentId;
    /**
     * 就职记录ID
     */
    @NotNull(message = "就职记录ID不能为空")
    @ApiModelProperty("就职记录ID")
    private String inductionRecordId;
    /**
     * 自定义字段4
     */
    @NotNull(message = "自定义字段4不能为空")
    @ApiModelProperty("自定义字段4")
    private String customField4;

}
